package org.itboys.mobile.entity.mongo;


import org.itboys.mongodb.entity.BaseMongoEntity;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.NotSaved;

import java.math.BigDecimal;

/**
 * 作者：jiangxiong
 * 日期：2017年4月26日
 * 联系方式 ：empty90911@126.com
 * 描述：圣代_移动端（通用）_用户_实体。如果属性不够，请自行填充
 */
@Entity(value="SundayMember", noClassnameStored=true)
public class SundayMember extends BaseMongoEntity {
    //基础属性
    private String userName;//登陆账号。随机生成
    private String nickName;//昵称
    private String realName;//真实姓名；
    private String image;//头像
    private String mobile;//手机号。用户注册标识
    private String mobileName;//联系电话
    private String email;//电子邮箱
    private Integer userType;//用户类型。根据项目逻辑自行定义。1，普通会员，3商家
    private String idCard;//身份证号
    private String birthDate;//生日
    private Integer sex;//0女1男2保密
    private String desc;//个人简介
    private Long firstTjId;//第一级推荐人ID
    private Long secondTjId;//第二级推荐人ID
    private Integer status;//状态:0正常，1冻结
    private String ewm;//微信推荐二维码
    private String background;//背景图片，商家专用
    //密钥信息
    private String password;//密码。md5加密
    private String weixinUnionId;//微信unionId
    private String weixinOpenId;//微信openId
    private String weiboUnionId;//微博unionId
    private String qqUnionId;//QQunionId
    //地址信息(商户)
    private Long provinceId;//省ID
    private String provinceName;//省名称
    private Long cityId;//市Id
    private String cityName;//市名称
    private Long districtId;//区ID
    private String districtName;//区名称
    private String address;//地址
    private Double sendAmount;//邮费
    private Double sendAmountBase;//满xx免邮费
    //用户权限信息
    private Integer isGold;//是否金领
    @NotSaved
    private String grade;//等级。动态查询
    @NotSaved
    private BigDecimal integral;//积分。动态查询
    @NotSaved
    private BigDecimal totalAmount;//余额。动态查询
    @NotSaved
    private BigDecimal reward;//提成金额。动态查询
    @NotSaved
    private BigDecimal conch;//贝壳。动态查询
    @NotSaved
    private BigDecimal aigouCoin;//爱购币。动态查询

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getMobileName() {
        return mobileName;
    }

    public void setMobileName(String mobileName) {
        this.mobileName = mobileName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public Long getFirstTjId() {
        return firstTjId;
    }

    public void setFirstTjId(Long firstTjId) {
        this.firstTjId = firstTjId;
    }

    public Long getSecondTjId() {
        return secondTjId;
    }

    public void setSecondTjId(Long secondTjId) {
        this.secondTjId = secondTjId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getEwm() {
        return ewm;
    }

    public void setEwm(String ewm) {
        this.ewm = ewm;
    }

    public String getBackground() {
        return background;
    }

    public void setBackground(String background) {
        this.background = background;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getWeixinUnionId() {
        return weixinUnionId;
    }

    public void setWeixinUnionId(String weixinUnionId) {
        this.weixinUnionId = weixinUnionId;
    }

    public String getWeixinOpenId() {
        return weixinOpenId;
    }

    public void setWeixinOpenId(String weixinOpenId) {
        this.weixinOpenId = weixinOpenId;
    }

    public String getWeiboUnionId() {
        return weiboUnionId;
    }

    public void setWeiboUnionId(String weiboUnionId) {
        this.weiboUnionId = weiboUnionId;
    }

    public String getQqUnionId() {
        return qqUnionId;
    }

    public void setQqUnionId(String qqUnionId) {
        this.qqUnionId = qqUnionId;
    }

    public Long getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(Long provinceId) {
        this.provinceId = provinceId;
    }

    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    public Long getCityId() {
        return cityId;
    }

    public void setCityId(Long cityId) {
        this.cityId = cityId;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public Long getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Long districtId) {
        this.districtId = districtId;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getSendAmount() {
        return sendAmount;
    }

    public void setSendAmount(Double sendAmount) {
        this.sendAmount = sendAmount;
    }

    public Double getSendAmountBase() {
        return sendAmountBase;
    }

    public void setSendAmountBase(Double sendAmountBase) {
        this.sendAmountBase = sendAmountBase;
    }

    public Integer getIsGold() {
        return isGold;
    }

    public void setIsGold(Integer isGold) {
        this.isGold = isGold;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public BigDecimal getIntegral() {
        return integral;
    }

    public void setIntegral(BigDecimal integral) {
        this.integral = integral;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getReward() {
        return reward;
    }

    public void setReward(BigDecimal reward) {
        this.reward = reward;
    }

    public BigDecimal getConch() {
        return conch;
    }

    public void setConch(BigDecimal conch) {
        this.conch = conch;
    }

    public BigDecimal getAigouCoin() {
        return aigouCoin;
    }

    public void setAigouCoin(BigDecimal aigouCoin) {
        this.aigouCoin = aigouCoin;
    }
    public String  getStatusStr(){
        String statusStr= "";
        if(status==null)return statusStr;

        switch (status) {
            case 0:
                statusStr="正常";
                break;
            case 1:
                statusStr="冻结";
                break;
            default:
                break;
        }
        return statusStr;
    }
}
